/**
 * 这个版本使用1024位密钥最长只能加密117个字符,使用2048位会导致消耗性能增加
 * 如果你预计超过117位字符请使用新版分段加密
 */

import { JSEncrypt } from "jsencrypt";

// 公钥
const publicKey = `-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDrkMsfCi100ADd7gVV4y9J19t
vW/mF0qSj2kThr4PUTCPPgTQGq48yxJDgOxnVyvARqTjo0vRlyGHVkxAfykTiO/F
PbJRFqG7AhKezeOQkrr66g5klthh91zoJ+JFpZkE4QRVHLPfjSXirMAYC6nQxsbl
/Ez11UiaqKbamIEECwIDAQAB
-----END PUBLIC KEY-----
`;

// 私钥 前端不存储私钥只是用来前端测试加密是否正常预留

/**
 * rsa加密
 * @param {Any} data 需要加密的数据
 * @returns {string} 加密后的数据
 */
function encrypt(data) {
  // 新建JSEncrypt对象
  const encrypt = new JSEncrypt();
  // 设置公钥
  encrypt.setPublicKey(publicKey);
  // 加密数据
  return encrypt.encrypt(data);
}
/**
 * rsa解密
 * @param {string} data 需要解密的数据
 * @returns {string} 解密后的数据
 */
// function decrypt(data) {
//   // 新建JSEncrypt对象
//   const decrypt = new JSEncrypt()
//   // 设置私钥
//   decrypt.setPrivateKey(privateKey)
//   // 解密数据
//   return decrypt.decrypt(data)
// }
export { encrypt };
